/*    
 * Copyright (c) 2013 ISoftStone, Inc.
 * All right reserved.
 *
 * 文件名：      IBillCycleService.java
 * 作者:     Jacky Wang
 * 创建日期： 2013-7-29 下午01:42:27
 * 版本：           
 *
 */
package com.isoftstone.industry.aaa.core.service.assist;

import com.isoftstone.industry.persistance.bean.BillCycleConfig;
import com.isoftstone.industry.persistance.bean.BillingCycle;
import com.isoftstone.modules.core.service.IGenericService;

/**
 *
 * @author jacky
 */
public interface IBillingCycleService extends IGenericService<BillingCycle, String>
{
	/**
	 * 获取上一个周期的帐务周期实体，或没有则创建一个
	 * @param       
	 * @return     
	 * @throws
	 */
	BillingCycle findOrCreateLastCycleByConfig(BillCycleConfig config);
	
	/**
	 * 获取下一周期的帐务周期实体，主要供预付费用户计费使用
	 * @param       
	 * @return     
	 * @throws
	 */
	BillingCycle findOrCreateNextCycleByConfig(BillCycleConfig config);
	
	void createBillingCycle4ThisYear(BillCycleConfig config);
}
